#include<stdio.h>
#include<unistd.h>

int gval = 100;

int main()
{
  //  while(1)
  //  {
  //      sleep(1);
  //      printf("我是一个进程,我的pid：%d,我的ppid:%d\n",getpid(),getppid());
  //  }
  
    printf("父进程开始运行,pid:%d\n",getpid());
    pid_t id = fork();
    if(id < 0)
    {
        perror("fork");
        return 1;
    }
    else if(id==0)
    {
        printf("我是一个子进程,我的pid:%d,我的父进程id:%d,gval:%d\n",getpid(),getpid(),gval);
        sleep(5);
        //child
        while(1)
        {
            sleep(1);
            printf("子进程修改变量:%d->%d",gval,gval+10);
            gval+=10;
            printf("我是一个子进程,我的pid:%d,我的父进程id:%d\n",getpid(),getpid());
        }
    }
    else
    {
        //father
        while(1)
        {
            sleep(1);
            printf("我是一个父进程,我的pid:%d,我的父进程id:%d,gval:%d\n",getpid(),getpid(),gval);
        }
    }

    
    printf("进程开始运行,pid:%d\n",getpid());

    return 0;
}
